Introducción a la Programación en Python

Escuela de Verano Postgrado 2026

Dr. Stefan Vogt-Geisse

2027-07-01

Introducción a la Programación en Python

Profesor: Dr. Stefan Vogt Geisse
Lugar: Laboratorio de computación FCQ (Bloque 1, 3er piso)

Note

Meta de la sesión (1:20): entender qué significa “programar” y escribir programas simples, correctos y legibles.

Cómo vamos a trabajar hoy

  • Ciclos cortos: concepto → demo → ejercicio → retroalimentación
  • El error es parte del proceso: lo usamos como herramienta de aprendizaje
  • Regla de oro: primero funciona, luego se mejora

¿Por qué aprender a programar hoy?

  • Datos: leer, limpiar, analizar
  • Automatización: ser más productivo
  • Reproducibilidad: resultados verificables
  • Autonomía: no depender de “magia” externa

Objetivos de aprendizaje (al finalizar)

  1. Explicar “algoritmo” como entrada → proceso → salida
  2. Ejecutar código Python en un notebook sin bloquearse por input()
  3. Usar variables, tipos básicos y operadores
  4. Reconocer errores típicos (sintaxis vs tipo vs lógica)
  5. Producir un mini-script útil (promedio con salida clara)

¿Qué es programar?

  • Dar instrucciones precisas y no ambiguas
  • El computador es literal: hace exactamente lo que se le indica

¿Qué es un algoritmo?

Un algoritmo es una receta de pasos:

  1. Definir entrada
  2. Ejecutar proceso
  3. Producir salida

Tip

Un buen algoritmo se puede explicar en lenguaje natural antes de escribir código.

Check de comprensión

  • ¿Cuál es la entrada en una receta de cocina?
  • ¿Cuál es el proceso?
  • ¿Cuál es la salida?

(Responder en 30–45 segundos con un ejemplo propio.)

El mismo problema en Python: promedio de notas (idea → código)

Vamos a traducir: “sumar, dividir, mostrar”.

n1 = 7.0
n2 = 8.0
n3 = 9.0
prom = (n1 + n2 + n3) / 3
print(prom)
8.0

¿Dónde está el algoritmo en el código?

  • ¿Qué líneas corresponden a “entrada”?
  • ¿Qué línea corresponde a “proceso”?
  • ¿Qué línea corresponde a “salida”?

¿Por qué Python?

  • Legible y expresivo
  • Ecosistema científico (NumPy, pandas, matplotlib, etc.)
  • Buen equilibrio: productividad vs control

¿Dónde se escribe Python?

  • Intérprete (REPL)
  • Scripts .py
  • Notebooks (como este)
  • IDEs (VS Code, PyCharm)

Abrir Jupyter Notebook desde la terminal (Linux)

Flujo estándar

  1. Abrir una terminal

  2. Ir a la carpeta del curso:

    cd ~/curso_python/clase1
  3. Verificar entorno activo:

    conda info --envs

    (* indica el entorno activo)

  1. Lanzar Jupyter:

    jupyter notebook

Note

Siempre lanzar Jupyter desde la carpeta de trabajo.

Primer contacto: print()

La forma más simple de ver qué ocurre.

print("Hola mundo")
Hola mundo

Variables

Una variable tiene nombre y valor.

x = 5
nombre = "Anna"

Note

Convención: nombres en minúscula, descriptivos, con guiones bajos si hace falta.

x = 2
nombre_1 = "Pedro"
print(x)
print(nombre_1)
2
Pedro

Tipos básicos

  • int (enteros)
  • float (reales)
  • str (texto)

La función type() te dice el tipo.

Tipos básicos

x = 5
y = 2.0
nombre = "Ana"
print(type(x))
print(type(y))
print(type(nombre))
<class 'int'>
<class 'float'>
<class 'str'>

Check de comprensión

¿Cuál es la diferencia entre "5" y 5?

¿En Python como defino un string?

my_string = 'test"

Operadores y precedencia

Operadores aritméticos básicos

  • + suma
  • - resta
  • * multiplicación
  • / división
  • ** potencia

Algunas operaciones tienen prioridad sobre otras.

Warning

Python no evalúa expresiones de izquierda a derecha.

Tip

Los paréntesis hacen explícita tu intención.

Operadores y precedencia

Predice el resultado antes de ejecutar

2 + 3 * 4
(2 + 3) * 4

Entrada y salida

¿Por qué necesitamos esto?

Hasta ahora: - Los valores estaban escritos en el código - El resultado lo veíamos con print()

En la práctica: - Los datos suelen venir como texto - El resultado debe mostrarse de forma clara

Entrada y salida

Ejemplo

a = int("3")
b = float("4.5")
c = a + b
print(f"Con f-string el valor de la variable c es... {c} ...muy bien Python!")
Con f-string el valor de la variable c es... 7.5 ...muy bien Python!

Mini-ejercicio

  1. Defina masa = 2.5 y vel = 3.0
  2. Calcula la energía cinética \(E = \frac{1}{2} m v^{2}\)
  3. Imprima: E = ... J con 2 decimales

Mini-ejercicio

masa = 2.5
vel = 3.0
energia = 0.5 * masa * vel**2
print(f"E = {energia:.2f} J")
E = 11.25 J

Buenas prácticas desde el inicio

  • Nombres claros (promedio_notas, no pn)
  • Comentarios breves solo cuando agregan intención
  • Probar paso a paso (celdas pequeñas)
  • Leer el error!

Mini-demo final: promedio con salida clara

Objetivo: Calcular el promedio de tres notas y generar un resultado legible para otra persona.

Mini-demo final: resultado

nombre = "Ana"
nota1 = 5.0
nota2 = 6.0
nota3 = 4.0

promedio = (nota1 + nota2 + nota3) / 3
print(f"{nombre}, tu promedio es {promedio:.2f}")

¿Qué aprendimos?

  • Algoritmo: entrada → proceso → salida
  • Variables y tipos
  • Operaciones y precedencia
  • Errores típicos y conversiones
  • Salida clara con f-strings